import java.util.ArrayDeque;
import java.util.Deque;

//TIP 要<b>运行</b>代码，请按 <shortcut actionId="Run"/> 或
// 点击装订区域中的 <icon src="AllIcons.Actions.Execute"/> 图标。
public class Main {
    public static void main(String[] args) {

    }
    public int evalRPN(String[] tokens) {
        Deque<Integer> numStack = new ArrayDeque<>();
        Integer po1,po2;
        for (String token : tokens) {
            switch (token) {
                case "+":
                    po2=numStack.pop();
                    po1=numStack.pop();
                    numStack.push(po1+po2);
                    break;
                case "-":
                    po2=numStack.pop();
                    po1=numStack.pop();
                    numStack.push(po1-po2);
                    break;
                case  "*":
                    po2=numStack.pop();
                    po1=numStack.pop();
                    numStack.push(po1*po2);
                    break;
                case  "/":
                    po2=numStack.pop();
                    po1=numStack.pop();
                    numStack.push(po1/po2);
                    break;
                default:
                    numStack.push(Integer.valueOf(token));//token原为String类型，通过Integer.valueof()方法转换类型。
                    break;
            }
        }
        return numStack.pop();
    }
}